矩形覆盖： https://www.nowcoder.com/practice/72a5a919508a4251859fb2cfb987a0e6?
class Solution {
  public:
    int rectCover(int number) {
        if (number < 2) 
        { 
            //这里要充分考虑number是[0,1]时的情况，OJ一般测试用例设计的比较全面，会有0，1传进来，这个时候，后续的dp[1] = 1;就可能报错
            return number;
        }
        //f(n) = f(n-1)+f(n-2)
        int* dp = new int[number + 1];
        dp[1] = 1;
        dp[2] = 2;

        for ( int i = 3; i <= number; i++) 
        {
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        
        int num = dp[number];
        delete dp;
        return num;
    }
};